asm
  ld sp,$97FF
  end asm

#include "./library/pacmandelay.bas"
'#include "./library/pingpongputsprite.bas"
#include "./library/smsrnd.bas"

dim i as uinteger at $9100
dim eee as uinteger at $9102
dim seed as uinteger at $9104

dim ee2 as uinteger at $9106
dim ee3 as uinteger at $9108
dim ee4 as ubyte at $910A
dim ecsp as ubyte at $910C
dim ecsq as ubyte at $910E

dim ex0 as uinteger at $9110
dim ey0 as uinteger at $9112

dim ej0 as uinteger at $9114
dim ej1 as uinteger at $9116

sub pingpongputsprite(tlayer as ubyte,tx as ubyte,ty as ubyte,tid as ubyte,tclut as ubyte):
  poke $9006+((tlayer band 15)*4),tx  '- x sprite 0
  poke $9004+((tlayer band 15)*4),ty bxor 255  '- y sprite 0
  poke $9005+((tlayer band 15)*4),tid          '- shape sprite 0
  poke $9003+((tlayer band 15)*4),tclut        '- clut? sprite 0
  end sub

function test1(t1 as uinteger,t2 as uinteger,t3 as uinteger,t4 as uinteger)  as uinteger
  end function

sub zpoke(t1 as uinteger,t2 as ubyte)
  poke t1,t2
  end sub

sub putchar(tx1 as uinteger, ty1 as uinteger, tch1 as uinteger)
  poke ($8400+(tx1*32)+ty1) bxor %0000001111100000,(tch1 band 255)
  end sub

pingpongputsprite(0,21,10,4,3)
pingpongputsprite(1,21,30,4,3)
pingpongputsprite(2,21,50,4,3)
pingpongputsprite(3,21,70,4,3)
pingpongputsprite(4,21,90,4,3)
pingpongputsprite(5,21,110,4,3)
pingpongputsprite(6,21,130,4,3)
pingpongputsprite(7,21,150,4,3)

seed=0

for ee2=64 to 1023-64
  for ee3=1 to 100
    poke $8400+ee2,$01
    next:next

ee4=0
for ee2=3 to 3+15
  for ee3=15 to 15+15
    poke $8400+ee3+(ee2*32),ee4
    ee4=ee4+1
    next:next

ee4=0
for ee2=20 to 20+7
  for ee3=15 to 15+15
    poke $8400+ee3+(ee2*32),ee4 band 3
    poke $8000+ee3+(ee2*32),int(ee4/4)
    ee4=ee4+1
    next:next




for ee2=4 to 7
  for ee3=2 to 5
    poke $8400+ee3+(ee2*32),code("X")
    next
    next

test1(377,2445,63888,2342)

eee=$4207
i=code("Q")
poke eee,i
eee=eee+1
i=code("T")
poke eee,i

seed=0
for eee=$4400 to $47FF
  seed=smsrnd(seed)
  poke eee,seed
  next

ex0=80:ey0=176

eee=0
ecsp=0:ecsq=0


do
poke $A600,255 '- watchdog? - it seems to work! thanks, Jim Bagley!!!!

ej0=peek($A800) bxor $ff
ej1=peek($A880) bxor $ff

poke ($8400+(10*32)+6) bxor %0000001111100000,ej0
poke ($8400+(10*32)+7) bxor %0000001111100000,ej1

poke ($8400+(12*32)+8) bxor %0000001111100000,48+(ex0 mod 10)
poke ($8400+(12*32)+7) bxor %0000001111100000,48+((int(ex0/10)) mod 10)
poke ($8400+(12*32)+6) bxor %0000001111100000,48+((int(ex0/100)) mod 10)

poke ($8400+(13*32)+8) bxor %0000001111100000,48+(ey0 mod 10)
poke ($8400+(13*32)+7) bxor %0000001111100000,48+((int(ey0/10)) mod 10)
poke ($8400+(13*32)+6) bxor %0000001111100000,48+((int(ey0/100)) mod 10)

poke ($8400+(14*32)+8) bxor %0000001111100000,48+(eee mod 10)
poke ($8400+(14*32)+7) bxor %0000001111100000,48+((int(eee/10)) mod 10)
poke ($8400+(14*32)+6) bxor %0000001111100000,48+((int(eee/100)) mod 10)
poke ($8400+(14*32)+5) bxor %0000001111100000,48+((int(eee/1000)) mod 10)
poke ($8400+(14*32)+4) bxor %0000001111100000,48+((int(eee/10000)) mod 10)

poke ($8400+(15*32)+8) bxor %0000001111100000,48+(ej0 mod 10)
poke ($8400+(15*32)+7) bxor %0000001111100000,48+((int(ej0/10)) mod 10)
poke ($8400+(15*32)+6) bxor %0000001111100000,48+((int(ej0/100)) mod 10)

poke ($8400+(16*32)+8) bxor %0000001111100000,48+(ej1 mod 10)
poke ($8400+(16*32)+7) bxor %0000001111100000,48+((int(ej1/10)) mod 10)
poke ($8400+(16*32)+6) bxor %0000001111100000,48+((int(ej1/100)) mod 10)

poke ($8400+(17*32)+8) bxor %0000001111100000,48+(ecsp mod 10)

if (ej1 band 64)<>0 then: ex0=ex0+1:end if
if (ej1 band 32)<>0 then: ex0=ex0-1:end if
if (ej1 band 4)<>0 then: ey0=ey0+1:end if
if (ej1 band 2)<>0 then: ey0=ey0-1:end if

if (ej1 band 15)<>0 then: ecsq=ecsq+1:end if
ecsp=(int(ecsq/4))mod 8

ee3=int(eee/4)

pingpongputsprite( 0,ex0   ,ey0   ,4,3)  '- layer,x,y,id,clut
pingpongputsprite( 1,ex0+16,ey0   ,4,3)  '- layer,x,y,id,clut
pingpongputsprite( 2,ex0+32,ey0   ,4,3)  '- layer,x,y,id,clut
pingpongputsprite( 3,ex0+48,ey0   ,4,3)  '- layer,x,y,id,clut
pingpongputsprite( 4,ex0   ,ey0+16,4,3)  '- layer,x,y,id,clut
pingpongputsprite( 5,ex0+16,ey0+16,4,3)  '- layer,x,y,id,clut
pingpongputsprite( 6,ex0+32,ey0+16,4,3)  '- layer,x,y,id,clut
pingpongputsprite( 7,ex0+48,ey0+16,4,3)  '- layer,x,y,id,clut
pingpongputsprite( 8,ex0   ,ey0+32,4,3)  '- layer,x,y,id,clut
pingpongputsprite( 9,ex0+16,ey0+32,4,3)  '- layer,x,y,id,clut
pingpongputsprite(10,ex0+32,ey0+32,4,3)  '- layer,x,y,id,clut
pingpongputsprite(11,ex0+48,ey0+32,4,3)  '- layer,x,y,id,clut
pingpongputsprite(12,ex0   ,ey0+48,4,3)  '- layer,x,y,id,clut
pingpongputsprite(13,ex0+16,ey0+48,4,3)  '- layer,x,y,id,clut
pingpongputsprite(14,ex0+32,ey0+48,4,3)  '- layer,x,y,id,clut
pingpongputsprite(15,ex0+48,ey0+48,4,3)  '- layer,x,y,id,clut


eee=eee+1
loop

'-------------------------------------------------------------------------------

text01:
asm
  defb "HELLO WORLD!!!!!"
  end asm

'-------------------------------------------------------------------------------


